import pymysql


#一个方法可以执行所有的数据库操作（增删改查）
# 以下仅供参考
def read_db(sql: str, host, port, user, password, db_name):
    """
    执行数据库操作的通用方法

    参数:
        sql (str): 要执行的SQL语句
        host: 数据库主机地址
        port: 数据库端口号
        user: 数据库用户名
        password: 数据库密码
        db_name: 数据库名称
    
    返回:
        如果是SELECT查询，返回查询结果列表
        如果是增删改操作，成功返回1，失败返回0
    """
    # 建立数据库连接，使用with语句确保连接自动关闭
    with pymysql.connect(host=host, port=port, user=user, password=password, db=db_name) as conn:
        # 创建游标对象，用于执行SQL语句
        with conn.cursor() as cursor:
            # 判断SQL语句是否为SELECT查询
            if sql.lower().strip().startswith("select"):
                # 执行SELECT查询
                cursor.execute(sql)
                # 获取所有查询结果
                result = cursor.fetchall()
                # 返回查询结果
                return result
            else:
                # 处理非SELECT语句（INSERT、UPDATE、DELETE等）
                try:
                    # 执行SQL语句
                    cursor.execute(sql)
                    # 提交事务，保存更改
                    conn.commit()
                    # 操作成功，返回1
                    return 1
                except:
                    # 发生异常时回滚事务，撤销更改
                    conn.rollback()
                    # 操作失败，返回0
                    return 0



result = read_db("update students set name='123123213' where id=1",host="localhost",port=3306,user="root",password="123456",db_name="myschools")

print(result)



